

#include "BitSet.h"

void TestBitSet01()
{
	how::bitset<100> bt;
	bt.set(32);
	bt.set(33);

	bt.reset(33);
	bt.set(34);

	std::cout << bt.test(32) << std::endl;
	std::cout << bt.test(33) << std::endl;
	std::cout << bt.test(34) << std::endl;
	std::cout << bt.test(35) << std::endl;
}

void TestBitSet02()
{
	how::bitset<-1> bt1;
	how::bitset<0xffffffff> bt2;
	how::bitset<UINT_MAX> bt3;
}

void TestBitSetBug()
{
	std::bitset<-1>* pbt = new std::bitset<-1>();
}

void TestTwoBitSet()
{
	how::two_bitset<100> tbs;
	int a[] = { 5, 5, 6, 5, 6, 7, 5 };
	for (auto& e : a)
		tbs.set(e);
	for (int i = 0; i < 100; ++i)
		std::cout << i << " -> " << tbs.get_count(i) << std::endl;
}